]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
calendar: Adjust for evolution changes
authorFlorian Müllner <fmuellner@gnome.org>
Sat, 14 Mar 2020 13:45:42 +0000 (14:45 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Sat, 14 Mar 2020 19:31:00 +0000 (20:31 +0100)
When launching the default calendar application, we special-case
evolution to make sure it starts up with the calendar component.

This is currently broken in two ways:

 - evolution changed its .desktop file to use reverse DNS notation

 - as evolution can now be distributed via flatpak, we can no longer
   assume that 'evolution-calendar.desktop' exists when evolution does
   (even though we ship the .desktop file ourselves, it is considered
   invalid if the executable isn't found)

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1093

js/ui/calendar.js

index 524d2dd32d6f7338c8f4557001282c830253ef49..aa1c4558a5295f45dcd3f2460cfe2fe811607450 100644 (file)
@@ -931,10 +931,13 @@ class EventsSection extends MessageList.MessageListSection {
         Main.overview.hide();
         Main.panel.closeCalendar();
 
-        let app = this._getCalendarApp();
-        if (app.get_id() == 'evolution.desktop')
-            app = Gio.DesktopAppInfo.new('evolution-calendar.desktop');
-        app.launch([], global.create_app_launch_context(0, -1));
+        let appInfo = this._getCalendarApp();
+        if (appInfo.get_id() === 'org.gnome.Evolution.desktop') {
+            let app = Gio.DesktopAppInfo.new('evolution-calendar.desktop');
+            if (app)
+                appInfo = app;
+        }
+        appInfo.launch([], global.create_app_launch_context(0, -1));
     }
 
     setDate(date) {